Micron Document
Livres et Wikis | Archives | Info


JavaScript
part 14/23 Β· 89.0 KB total
layout: Wide Β· Narrow Β· Centered
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
var maVariable5 = [1, 2, 3]; // lie `maVariable5` Γ  une donnΓ©e de
valeur [1, 2, 3]
var maVariable6 = maVariable5; // lie `maVariable6` Γ  la donnΓ©e liΓ©e Γ 
`maVariable5`
maVariable5.push(4); // modifie la donnΓ©e liΓ©e Γ  `maVariable5` et
`maVariable6`
alert(maVariable5); // affiche [1, 2, 3, 4]
alert(maVariable6); // affiche [1, 2, 3, 4]

PortΓ©e lexicale des variables

La portΓ©e lexicale d'une variable est la partie d'un programme oΓΉ la
liaison entre son identifiant et sa donnΓ©e est valide. En JavaScript, la
portΓ©e lexicale d'une variable peut Γͺtre de deux types, selon le mot-clΓ©
utilisΓ© pour la dΓ©clarer :

β€’ var : au niveau de la fonction (ou de l'espace global) oΓΉ elle est
dΓ©clarΓ©e (comme en Python, Ruby) ;
β€’ let ou const (introduits dans ECMAScript 6) : au niveau du bloc oΓΉ
elle est dΓ©clarΓ©e (comme en C++, Java, C#) β€” une fonction Γ©tant un bloc
particulier.

Depuis le support de let par les navigateurs modernes, var ne doit plus
Γͺtre utilisΓ© et son utilisation est considΓ©rΓ© comme une mauvaise
pratiquecite-ref-29[29].

// 1. DΓ©claration dans un bloc
if (true) { // dΓ©but du bloc
var maVariable1; // dΓ©claration de la variable
let maVariable2; // dΓ©claration de la variable
const maVariable3; // dΓ©claration de la variable
} // fin du bloc mais pas de la portΓ©e de maVariable1
alert(maVariable1); // ne soulève pas d'erreur
alert(maVariable2); // erreurΒ : la variable est hors de sa portΓ©e
alert(maVariable3); // erreurΒ : la variable est hors de sa portΓ©e
// 2. DΓ©claration dans une fonction
function maFunction() { // dΓ©but de la fonction
var maVariable4; // dΓ©claration de la variable
let maVariable5; // dΓ©claration de la variable
const maVariable6; // dΓ©claration de la variable
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────